import CryptoJS from 'crypto-js'
import * as constConfig from '../constData/ConstData'

/**
 * AES加密解密工具
 */

const KEY = CryptoJS.enc.Utf8.parse(constConfig.CryptoJSKEY) //十六位十六进制数作为秘钥
const IV = CryptoJS.enc.Utf8.parse(constConfig.CryptoJSIV) //十六位十六进制数作为秘钥偏移量

/**
 * AES-128-CBC加密 ：字符串 key iv  返回base64
 * 填充方式(Padding)：Pkcs7
 * 目前Java及Vue均可加密解密
 */
export function EncryptPkcs7(content) {
    let srcs = CryptoJS.enc.Utf8.parse(content);
    let encrypted = CryptoJS.AES.encrypt(srcs, KEY, {iv: IV, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7});
    return encrypted.toString()
}

/**
 * AES-128-CBC解密 ：字符串 key iv  返回base64
 * 填充方式(Padding)：Pkcs7
 * 目前Java及Vue均可加密解密
 */
export function DecryptPkcs7(content) {
    let decrypt = CryptoJS.AES.decrypt(content, KEY, {iv: IV, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7});
    return decrypt.toString(CryptoJS.enc.Utf8);

}
